1. Technical Field
The embodiments herein generally relate to power management of electronic devices, and more particularly to fine grain power management of distributed information technology (IT) infrastructure components as it applies to the user applications in a non-intrusive manner.
2. Description of the Related Art
Most IT infrastructure components such as desktop computers, servers, storage networks, switches, routers, operating systems, device drivers, and firmware provide capabilities to control the power usage of that device. The widely used techniques for power management are based mainly on switching on or a moving the device to a different power state based on the inactivity timeouts. Generally, inactivity or timeout based control of these devices disturb the usability of the device or the infrastructure by the end user(s). Current power management techniques tend to be intrusive and the intrusiveness have generally prevented the widespread adoption of power management system as suggested by Georgios et al., “Machine Learning for Adaptive Power Management”, Intel Technology Journal, Nov. 9, 2006; and Microsoft, “Savings Costs and Energy with Windows Vista”, White paper published by Microsoft, February 2009.
The current solutions to power management typically use the following approaches: a) Computing devices with keyboard/mouse (desktops, servers, laptops, personal display assistant (PDA)), power savings is achieved by change of the system or its components to a low power state (e.g., monitor, disk, central processing unit (CPU)) when there is no keyboard or mouse activity for a pre-configured idle timeout period as suggested in U.S. Pat. Nos. 5,560,024; 5,799,198; 6,574,740; 6,618,042; 6,694,442; 6,829,713; 6,845,456; and 7,119,786, the complete disclosures of which, in their entireties, are herein incorporated by reference. However, idleness of a system typically cannot be completely determined by using only the keyboard, mouse, system CPU, network input/output (I/O)—inactivity timeouts. Hence, this method does not typically work for many applications. b) For other systems such as servers, routers, switches, and uninterruptible power supply (UPS) if the system is idle, then a change to a low power state after a pre configured idle timeout period (here the idleness is defined by low or no CPU usage, low or no disk i/o or network activity) is performed as suggested in U.S. Pat. Nos. 6,131,166; 6,173,409; 6,583,947; 6,859,882; 7,272,735; and 7,308,591, the complete disclosures of which, in their entireties, are herein incorporated by reference. In practice given the continuous activity on the network in real deployments, power management is seldom fully enabled. In addition, generally there is no fine grain mechanism to allow for calculating the idle timeout period to incorporate various co-dependent applications/processes. c) If the power management causes disturbance to the users, then it is usually completely disabled negating any power saving benefits as suggested in the Georgios reference. d) Another approach is to see if a subcomponent of a system is not in use for a specified timeout interval then that subcomponent is moved to a low power state as suggested in U.S. Pat. Nos. 6,711,691; 7,119,786; and 7,308,591, the complete disclosures of which, in their entireties, are herein incorporated by reference. With this approach however users typically observe their applications as unresponsive as the system or its subcomponents may enter a low power state while the user is using the system as the system considers those components to be idle. In addition there could be potential loss or inconsistency in the system as the system is perceived to be idle when it is actually not idle and is moved to a lower power state/shutdown. e) Another approach includes disabling power management systems when certain applications are running or based on pre-determined calendar based schedule as suggested in the Microsoft White Paper. These solutions not only tend to reduce power savings but are generally very intrusive increasing the likelihood of disabling all power management settings. f) Other approaches use specialized changes to hardware via the system clock or other circuit settings to change processor or other component power consumption along with specialized software as suggested in U.S. Pat. Nos. 5,410,713; 5,428,790; 5,638,541; 5,696,952; 5,710,929; 5,784,628; 5,790,877; 6,219,796; 6,487,668; 6,694,442; 6,704,877; 6,788,156, the complete disclosures of which, in their entireties, are herein incorporated by reference. The chief drawback of these solutions is that they are generally very hardware specific and do not typically work across various nodes in a distributed IT infrastructure.